relocatable program
Noun: A relocatable program is a computer program designed and compiled in such a way that it can be loaded into and executed from different areas of a computer's main memory (RAM) without modification. Its instructions contain relative addresses or use a base register, allowing the operating system to place it at an available memory location.
This term is used in the context of computer science, operating systems, and software engineering to describe a key feature of executable code that enables efficient memory management. * The operating system's loader can place a relocatable program in any suitable block of free memory. * Early computing systems benefited greatly from relocatable programs, as they allowed multiple programs to run concurrently without fixed memory conflicts.
- Relocation: The process performed by a system loader to adjust the addresses within a relocatable program to match its actual location in memory. This adjustment is often done by adding a relocation factor (the base address) to relative addresses.
- Contrast with Absolute Program: An absolute program is compiled to run at one specific, fixed memory address and cannot be moved without recompilation.
- Relocatable Code (n): Another term for the executable instructions of a relocatable program.
- Relocatable Object File (n): The output from a compiler or assembler that contains relocatable code and data, typically before the final linking step.
- Position-Independent Code (PIC) (n): A more advanced form of relocatable code, often used in shared libraries, where the code can execute correctly regardless of its absolute address in memory.
- Position-independent program (in a general sense)
- Relocatable code module
- Absolute program
- Fixed-address program
- a program that can be located in different parts of memory at different times